package robots.models;

import robots.domain.Jugador;
import robots.domain.Robot;
import robots.domain.ServiceDeRobot;
import robots.excepcions.DineroInsuficienteException;
import robots.excepcions.PorcentajeReparacionInvalidoException;

public class RepararRobotAppModel {
	
	private Robot robotSeleccionado;
	private Integer danioAReparar= 0;	// el danio a reparar comienza en cero.
	private ServiceDeRobot service;
	
	public RepararRobotAppModel(Robot robotSeleccionado, Jugador jugador ){
		this.robotSeleccionado= robotSeleccionado;
		this.service= new ServiceDeRobot();
	}
				  
	public Robot getNombreRobot() {
		return robotSeleccionado;
	}

	public Integer getDanioAReparar() {
		return danioAReparar;
	}

	public void setDanioAReparar(Integer danio) {
		this.danioAReparar=danio;
	}
	
	public Integer getCostoDeReparacion() {
		return (this.danioAReparar > 0) ? this.danioAReparar * 25 : 0;
	}
	
	public void reparar() throws DineroInsuficienteException, PorcentajeReparacionInvalidoException{
		this.service.repararRobotYCobrarJugador(robotSeleccionado, danioAReparar);
	}
	
	public Integer getDanio(){
		return this.robotSeleccionado.getDanio();
	}
}
